// pages/filter/filter.js
const fetchSev = require("../../utils/util.js").fetchSev;
const getSpusUrl = require("../../config.js").getSpusUrl;    // 获取大码列表
const getCraftUrl = require("../../config.js").getCraftUrl;  // 获取工艺列表
const getCateUrl = require("../../config.js").getCateUrl;    // 获取品类列表

const app = getApp();

Page({

  /**
   * 页面的初始数据
   */
  data: {
    cateList: [],     // 品类列表
    spuList: [],      // 大码列表
    craftList: [],    // 工艺列表
    
    weight1: '',     // 克重范围
    weight2: '',


    currentListIdx: 0,    // 用于控制“品类/大码/工艺”的展开与收缩
    currentCate: "",
    currentSpu: '',
    currentCraft: '', 
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {
  
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {
  
  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {
    // 获取品类列表
    fetchSev(getCateUrl, "GET", {}, function(res){
      console.log('1-品类列表', res.data);
      const data = res.data;
      delete data.total;
      this.setData({cateList: data});
    }.bind(this));
    // 请求工艺列表
    fetchSev(getCraftUrl, "GET", { pagesize: '', page: '' }, function (res) {
      console.log('3-工艺列表', res.data);
      this.setData({ craftList: res.data || [] });
    }.bind(this));

    // 请求大码列表
    const obj = {
      q_keyword: '',   // 大码名称模糊搜索
      type: '',         // 一级品类，素金，原石，镶嵌
      q_cate_id: '',   // 二级品类id
      page: '',
      pagesize: ''
    }
    this._getSpuList(obj);
  },
  // spu大码列表
  _getSpuList: function (data) {    
    fetchSev(getSpusUrl, 'GET', data, function (res) {
      console.log('2-大码列表', res.data);
      const list = res && res.data ? res.data : [];
      this.setData({ spuList: list });
    }.bind(this));
  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function () {
  
  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {
  
  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function () {
  
  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {
  
  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function () {
  
  },

  

  // 克重1
  _weightChange1: function(e) {
    const val = e.detail.value;
    this.setData({weight1: val});
  },
  // 克重2
  _weightChange2: function (e) {
    const val = e.detail.value;
    this.setData({ weight2: val });
  },

  // 点击 “品类 / 大码 / 工艺”
  _listClick: function(e) {
    const idx = e.currentTarget.dataset.list;
    console.log(idx);
    const currentListIdx = this.data.currentListIdx;
    if (idx == currentListIdx) {
      this.setData({ currentListIdx: 0 });
    } else {
      this.setData({ currentListIdx: idx });
    }    
  },

  // li - 点击品类
  _cateClick: function (e) {
    const curEle = e.target.dataset.cate;
    // 更改交互色
    this.setData({ currentCate: curEle });
    // 更改大码列表
    if(curEle) {
      this._getSpuList({ q_cate_id: curEle.id });
    } else {
      this._getSpuList({ q_cate_id: '' });
    }
    // 重置当前选中的大码
    this.setData({currentSpu: ''});
    // 收起列表
    this.setData({currentListIdx: 0});
    
  },

  // li - 点击大码
  _spuClick: function (e) {
    const curEle = e.target.dataset.spu;
    // 更改交互色
    this.setData({ currentSpu: curEle });
    // 收起列表
    this.setData({ currentListIdx: 0 });
  },

  // li - 点击工艺
  _craftClick: function (e) {
    console.log(e)
    const curEle = e.target.dataset.craft;
    // 更改交互色
    this.setData({ currentCraft: curEle });
    // 收起列表
    this.setData({ currentListIdx: 0 });
  },


  // 重置
  _filterReset: function () {
    // console.log('重置');
    this.setData({ currentCateId: "" });
    this.setData({ currentSpuId: '' });
    this.setData({ currentCraftId: '' });
    this.setData({ weight1: '' });
    this.setData({ weight2: '' });
    // 重置三个选中的列表项
    this.setData({ currentCate: '' });
    this.setData({ currentSpu: '' });
    this.setData({ currentCraft: '' });
  },
  // 确定
  _filterConfirm: function () {
    const obj = {
      weight1: this.data.weight1,
      weight2: this.data.weight2,
      currentCateId: this.data.currentCate.id || "",
      currentSpuId: this.data.currentSpu.spu_id || "",
      currentCraftId: this.data.currentCraft.id || ""
    }
    // 数据验证
    // 貌似无须验证
    if (obj.weight1 || obj.weight2) {
      if (obj.weight1 == '' || obj.weight2 == '') {
        wx.showToast({
          title: '克重范围填写不完整',
          icon: 'none'
        });
        return;
      }
      if (parseFloat(obj.weight2) < parseFloat(obj.weight1)) {
        wx.showToast({
          title: '克重范围填写有误',
          icon: 'none'
        });
        return;
      }
    }

    console.log('筛选条件---------->', obj);

    // 更新全局变量filter
    app.globalData.filter = obj;
    // 返回至上一页
    wx.navigateBack({ delta: 1 });
  },

})